package com.ruoyi.classes.service;

import java.util.List;
import com.ruoyi.classes.domain.TClassUser;
import com.ruoyi.classes.domain.vo.ClassUserVo;
import com.ruoyi.common.core.domain.entity.SysUser;

/**
 * 班级用户连接Service接口
 *
 * @author Bandit
 * @date 2022-11-01
 */
public interface ITClassUserService
{
    /**
     * 查询班级用户连接
     *
     * @param classId 班级用户连接主键
     * @return 班级用户连接
     */
    public TClassUser selectTClassUserByClassId(Long classId);

    /**
     * 通过userId, classId查询一个准确的用户
     * @param tClassUser
     * @return
     */
    public ClassUserVo selectClassUserVoByTClassUser(TClassUser tClassUser);

    /**
     * 查询班级用户连接2列表
     * @param classUserVo
     * @return
     */
    public List<ClassUserVo> selectClassUserVoList(ClassUserVo classUserVo);

    /**
     * 查询班级用户连接列表
     *
     * @param tClassUser 班级用户连接
     * @return 班级用户连接集合
     */
    public List<TClassUser> selectTClassUserList(TClassUser tClassUser);

    /**
     * 新增班级用户连接
     *
     * @param tClassUser 班级用户连接
     * @return 结果
     */
    public int insertTClassUser(TClassUser tClassUser);

    /**
     * 修改班级用户连接
     *
     * @param tClassUser 班级用户连接
     * @return 结果
     */
    public int updateTClassUser(TClassUser tClassUser);

    /**
     * 批量删除班级用户连接
     *
     * @param classIds 需要删除的班级用户连接主键集合
     * @return 结果
     */
    public int deleteTClassUserByClassClassUserList(List<TClassUser> classUserList);

    /**
     * 删除班级用户连接信息
     *
     * @param classId 班级用户连接主键
     * @return 结果
     */
    public int deleteTClassUserByClassId(Long classId);

    /**
     * 查看未加入班级的用户
     * @param classId 班级ID
     * @return
     */
    public List<SysUser> selectUnlistedListByClassId(Long classId);

    public int insertTClassUserBatch(List<TClassUser> tClassUserList);
}
